import Vue from 'vue';

var dropdowns = [];

!Vue.prototype.$isServer && document.addEventListener('click', function (event) {
    dropdowns.forEach(function (dropdown) {
        var target = event.target;
        if (!dropdown || !dropdown.$el) return;
        if (target === dropdown.$el || dropdown.$el.contains(target)) {
            return;
        }
        dropdown.handleOutsideClick && dropdown.handleOutsideClick(event);
    });
});

export default {
    open(instance) {
        if (instance) {
            dropdowns.push(instance);
        }
    },

    close(instance) {
        var index = dropdowns.indexOf(instance);
        if (index !== -1) {
            dropdowns.splice(instance, 1);
        }
    }
};
